//---------------------------------------------------------------------------

#ifndef drag_drop_registryH
#define drag_drop_registryH
#include <vcl.h>
//---------------------------------------------------------------------------

class IconDragDrop
{           //Drag Drop Attribute
	public:	TImage *IconList[100];
        	TImage *DragIcon;
			int IconCount,IconIndex,IconWidth,PixelRes;
			int XPos, YPos, XDrag, YDRag;
			int factorx,factory;
			TWinControl *Parent;
			bool VisibleDragIcon;
			bool DragStatus;
			String IconNames[100];
            LPCTSTR IconPath;

			//Virtual Desktop Attribute
			TImage *VirtualDesktop;
			int VirtualDesktopWidth,VirtualDesktopHeight,ResolutionIndex;
			float ResolutionFaktor;
			int DesktopWidth, DesktopHeight;

			HICON GetIcon(LPCTSTR szPath);

            //Sonstige Methoden
			void CreateIcon(String IconName, TWinControl *Objekt,TImage *Image,int X, int Y);
			void SetValues();
			void GetCoordinatesPos(int X,int Y);
			void SetStaticCoordinates();
			void DeleteIcon();
			int GetIconPosition(int Icon, byte Coordinate); //wird bearbeitet
			String GetIconName(int Icon);
			//Integrierte VCL-Methoden
			void __fastcall IconOnStartDrag(TObject *Sender, TDragObject *&DragObject);
			void __fastcall IconOnEndDrag(TObject *Sender, TObject *Target, int X, int Y);

			IconDragDrop();
			~IconDragDrop();
	private:
	protected:
};
#endif
